package data.visitor;

import data.Data;
import data.content.visitor.ContentVisitor;

public class PasserDataVisitor<T> extends DataVisitor<T> {

  private final ContentVisitor<T> content_visitor_;
  
  public PasserDataVisitor(ContentVisitor<T> content_visitor) {
    assert content_visitor != null;
    content_visitor_ = content_visitor;
  }
  
  @Override
  public T visit(Data data) {
    return data.getContent().accept(content_visitor_);
  }

}
